AI3DHConnector Class Reference

AI3DHConnector Class Reference#

instant3Dhub: AI3DHConnector Class Reference
instant3Dhub

#include "I3DHConnector.h"

Inheritance diagram for AI3DHConnector:
Collaboration diagram for AI3DHConnector:

Detailed Description

The HubConnector is the central actor for communication with an instant3Dhub instance in your network.

Public Member Functions

TSharedPtr< FI3DHConnectorAPIGetAPI () const
void AddNetworkCredentialCookie (const FString &CookieKey, const FString &CookieValue)
void RemoveNetworkCredentialCookie (const FString &CookieKey)
void AddNetworkCredentialToken (const FString &TokenKey, const FString &TokenValue)
void RemoveNetworkCredentialToken (const FString &TokenKey)
const TMap< FString, FString > & GetNetworkCredentialCookies () const
const TMap< FString, FString > & GetNetworkCredentialTokens () const
void ConnectToHub (const FString &HubURL, const FString &SpaceId)
void ConnectToHubWithLink (const FString &Link)
void ConnectToHubWithOptions (const FString &HubURL, const FI3DHConnectOptions &Options)
void Disconnect ()
bool IsDisconnected () const
bool IsEstablishingConnectionToHub () const
bool IsConnectedToHub () const
FString GetHubURL () const
FString GetSessionId () const
FString GetSpaceId () const
FMatrix GetOriginToWorldTransform () const
FMatrix GetWorldToOriginTransform () const
AActorGetOriginActor ()
const AActorGetOriginActor () const
bool RequestRemoteCullerDebugStream ()
UTexture2DGetRemoteCullerDebugStreamTexture ()
const TArray< FI3DHDebugMetric > & GetDebugMetrics ()
FString GetDebugSessionInfo ()
FI3DHClientProgress GetClientProgress ()
TArray< int32 > GetClipPlanes ()
AActorFindClipPlaneActor (int32 ClipPlaneId)
AActorGetMainClipPlaneActor ()
UMaterialInterfaceGetDrawingMaterial (FLinearColor Color)
class AI3DHDrawingFindDrawingActor (int32 DrawingHandle)
void SetClipDrawingsByClipPlane (const bool bClipDrawingsByClipPlaneEnabled)
bool GetClipDrawingsByClipPlane ()
virtual void EditDrawing (int32 DrawingHandle, const TScriptInterface< class II3DHEditDrawingInterface > &EditDrawingInterface, bool bIsEditingCopy=false)
int32 GetGlobalRootNodeId ()
TArray< int32 > GetSelection ()
void SetHoveredNode (int32 NodeId)
void AddToHoveredNodes (int32 NodeId)
void ClearHoveredNodes ()
TArray< int32 > GetHoveredNodes ()
bool GetWorldTransformWithAuthority (const FI3DHTransformAuthorityHandle TransformAuthorityHandle, int32 NodeId, FMatrix &OutWorldTransform)
void SetWorldTransformWithAuthority (const FI3DHTransformAuthorityHandle TransformAuthorityHandle, int32 NodeId, const FMatrix &WorldTransform)
void ReleaseTransformAuthority (const FI3DHTransformAuthorityHandle TransformAuthorityHandle)
bool IsTransformAuthorityActive (const FI3DHTransformAuthorityHandle TransformAuthorityHandle) const
const class UI3DHCustomMaterialURNResolverFindCustomMaterialURNResolver (const FI3DHNamespaceIdentifier &NID) const
const FI3DHGeometryMaterialsGetL3DMaterials () const
const FI3DHGeometryMaterialsGetL3DAppearanceMaterials () const
const FI3DHGeometryMaterialsGetMaterialAPIMaterials () const

Static Public Member Functions

static bool ParseConnectLink (const FString &Link, FString &HubURL, FI3DHConnectOptions &ConnectOptions)

Public Attributes

FConnectedDelegate OnConnectedDelegate
FConnectErrorDelegate OnConnectErrorDelegate
FErrorDelegate OnErrorDelegate
FDisconnectedDelegate OnDisconnectedDelegate
FClipPlaneCreatedDelegate OnClipPlaneCreatedDelegate
FClipPlaneRemovedDelegate OnClipPlaneRemovedDelegate
float ClipPlaneSyncHz = 1.0
TSubclassOf< AActorClipPlaneActorClass = nullptr
TObjectPtr< UMaterialInterfaceDrawingBaseMaterial {nullptr}
TObjectPtr< class UStaticMeshDrawingSegmentMesh {nullptr}
TObjectPtr< class UStaticMeshDrawingJointMesh {nullptr}
int32 MaxConversionTasksCreatedPerTick = 8
int32 MaxPageInstancesCreatedPerTick = 2
int32 TargetedTrianglesOnVisiblePageInstances = 10000000
float CreatePageInstancesBudgetMs = 5.0f
float ViewSyncHz = 5.0

Protected Member Functions

virtual void BeginPlay () override

Protected Attributes

TObjectPtr< class UMaterialParameterCollectionI3DHParameterCollection = nullptr
TObjectPtr< class UMaterialInterfaceGlobalHighlightMaterial = nullptr
FI3DHGeometryMaterials L3DDefaultMaterials
FI3DHGeometryMaterials L3DAppearanceMaterials
FI3DHGeometryMaterials MaterialAPIMaterials
TMap< FI3DHNamespaceIdentifier, TObjectPtr< class UI3DHCustomMaterialURNResolver > > CustomMaterialURNResolvers
TSubclassOf< AI3DHGeometryGeometryActorClass
bool bSpawnedGeometryCastsShadow = false
TObjectPtr< USceneComponentRootComponentConnector

Member Function Documentation

◆ BeginPlay()

virtual void AI3DHConnector::BeginPlay ( )
overrideprotectedvirtual

Called when play begins for the instant3Dhub Connector actor.

◆ GetOriginActor() [1/2]

AActor * AI3DHConnector::GetOriginActor ( )
inline
Returns
Returns the Origin Actor which currently is the connector itself.

◆ GetOriginActor() [2/2]

const AActor * AI3DHConnector::GetOriginActor ( ) const
inline
Returns
Returns the Origin Actor which currently is the connector itself.

◆ GetOriginToWorldTransform()

FMatrix AI3DHConnector::GetOriginToWorldTransform ( ) const

Gets origin to world transform.

Returns
The origin to world transform.
See also
Coordinate Systems

◆ GetWorldToOriginTransform()

FMatrix AI3DHConnector::GetWorldToOriginTransform ( ) const

Gets world to origin transform.

Returns
The world to origin transform.
See also
Coordinate Systems

◆ ParseConnectLink()

bool AI3DHConnector::ParseConnectLink ( const FString & Link,
FString & HubURL,
FI3DHConnectOptions & ConnectOptions )
static

Parses the provided connection link and extracts the hub URL and relevant connection options.

Supported formats are (may be expanded in the future):

In the first format, the base URL (example.com) is ignored and the hub URL is extracted from the query parameters only.

In the second and third format, token and roleKey are optional and both populate the RoleKey connect option.

Parameters
LinkLink URL.
HubURLTarget hub URL, only set on success.
ConnectOptionsTarget connect options, only set on success.
Returns
Success or failure.

Member Data Documentation

◆ CreatePageInstancesBudgetMs

float AI3DHConnector::CreatePageInstancesBudgetMs = 5.0f

Time budget (in milliseconds per tick) for creating page instances.

Note
Value is clamped to [0.1, 100] ms.

◆ MaxConversionTasksCreatedPerTick

int32 AI3DHConnector::MaxConversionTasksCreatedPerTick = 8

Limits the number of page conversion tasks created per frame to avoid hitches in frame rate.

◆ MaxPageInstancesCreatedPerTick

int32 AI3DHConnector::MaxPageInstancesCreatedPerTick = 2

Limits the number of page instances created per frame to avoid hitches in frame rate.

◆ RootComponentConnector

TObjectPtr<USceneComponent> AI3DHConnector::RootComponentConnector
protected

Expose the RootComponent as Visible to allow its properties to be modified in Details Panel.

◆ TargetedTrianglesOnVisiblePageInstances

int32 AI3DHConnector::TargetedTrianglesOnVisiblePageInstances = 10000000

A target budget for the number of triangles accumulated over all page instances concurrently visible in the scene.

Parts that are visible in the current frame (according to the remote culler) are always shown, but currently out of view / occluded parts are kept visible within the remaining budget.

◆ ViewSyncHz

float AI3DHConnector::ViewSyncHz = 5.0

Frequency to sync the camera with Hub.

Note
Value is clamped to [0.1, 120] Hz.

The documentation for this class was generated from the following file: